package cn.com.seederland.gkrpc;

import cn.com.seederland.gkrpc.common.constants.exception.ExceptionConstants;
import cn.com.seederland.gkrpc.common.utils.JSONUtils;

/**
 * @ClassName Response
 * @Author SighFate
 * @Date 2020/10/06 20:43
 * @Version 1.0
 * @Description 表示RPC的请求返回
 */
public class Response {
    /** 服务返回编码。使用四位数字表示，0000表示成功，其他的都为失败 */
    private String code = ExceptionConstants.SUCCESS_CODE;
    /** 服务器返回的具体错误信息 */
    private String message = ExceptionConstants.DEFAULT_MESSAGE;
    /** 服务器返回的响应数据 */
    private Object data;

    /**
     * 获取服务器返回的编码
     * @return 服务器返回的编码
     */
    public String getCode() {
        return code;
    }

    /**
     * 设置服务器返回的编码
     * @param code 服务器返回的编码
     */
    public void setCode(String code) {
        this.code = code;
    }

    /**
     * 获取服务器返回的信息
     * @return 服务器返回的信息
     */
    public String getMessage() {
        return message;
    }

    /**
     * 设置服务器返回的信息
     * @param message 服务器返回的信息
     */
    public void setMessage(String message) {
        this.message = message;
    }

    /**
     * 获取服务器返回的数据
     * @return 服务器返回的数据
     */
    public Object getData() {
        return data;
    }

    /**
     * 设置服务器返回的数据
     * @param data 服务器返回的数据
     */
    public void setData(Object data) {
        this.data = data;
    }

    @Override
    public String toString() {
        return "Response" + JSONUtils.parseToString(this);
    }
}
